#ifndef MAIN_H_
#define MAIN_H_

#include "stm32f4xx.h"

#include "ssd1306.h"

#include "usbd_core.h"
#include "usbd_desc.h"
#include "usbd_customhid.h"
#include "usbd_customhid_if.h"

#include "buzzer.h"
#include "key.h"
#include "menu.h"
#include "parameters.h"
#include "usb_configure.h"
#include "RTC_calendar.h"

#include "FreeRTOS.h"
#include "task.h"

extern PCD_HandleTypeDef hpcd;
extern uint8_t bootMode;

#define VERSION_SOFTWARE	(uint32_t)0x00000001

/* Identifications */
#define USB_VID_L			0x22
#define USB_VID_H			0x22
#define USB_PID_L			0x33
#define USB_PID_H			0x33

/* misc defines */
#define BACUP_STATUS		RTC
#define BACUP_STATUS_REG	BKP5R
#define USB_DISABLED		0x00
#define USB_ENABLED			0x01
//
#define FULL_BYTE			0xFF
#define GSM_BUF_SIZE		64

#define BOOT_MODE_NORMAL	0
#define BOOT_MODE_USB		1


#endif

